<?php 

/**
 * 分类管理控制器
 * @author 阿柱 <422852954@qq.com>
 */
class CategoryController extends AuthController{
	private $model;
	public function __init(){
	    parent::__init();
		$this->model=K('Category');
	}
    /**
     *   **列表展示方法
     */
    public function index(){
    	if(IS_POST){
			$sort=Q("post.csort");
//			循环判断排序不能为空
//			foreach ($sort as $k => $v) {
//				if(!$v)   $this->error('排序不能为空');
//			}
//			循环修改排序
			foreach ($sort as $cid => $v) {
				$this->model->where("cid={$cid}")->update(array('csort'=>$v));
			}
    		if(!$this->model->create())      $this->error($this->model->error);
			
			$this->success('排序成功','',1);
    	}
//		变成树状结构(面包屑导航)
//		$data=Category::toLevel($this->model->all(),'|__');
//		$this->assign('cateData',$data);
		$cateData=Data::tree($this->model->order('pid ASC')->all(),'cname');
		$this->assign('cateData',$cateData);
        $this->display(); 
    }
	/**
	 * 添加分类
	 */
	public function add(){

	    if(IS_POST){
//	    	验证
	    	if(!$this->model->create())    $this->error($this->model->error);
//			添加
			$this->model->addCate();
			$this->success('添加成功',U('index'),1);
	    }
		$this->display();
	}
	/**
	 * 添加子类
	 */
	public function addSonCate(){
//		分配类型变量
		$this->type();
		if(IS_POST){
			if(!$this->model->create())     $this->error($this->model->error);
			$this->model->addSonCate();
			$this->success('添加成功');
		}
		
	    $this->display('add');
	}
	/**
	 * 编辑
	 */
	public function edit(){
//		分配类型变量
		$this->type();
		$cid=Q('get.cid',0,'intval');
//		分配旧数据
		$oldData=$this->model->where("cid={$cid}")->find();
//		p($oldData);
		$this->assign('oldData',$oldData);
		 if(IS_POST){
//	    	验证
	    	if(!$this->model->create())    $this->error($this->model->error);
//			添加
			$this->model->editCate();
			$this->success('修改成功',U('index'),1);
	    }
	    $this->display();
	}
	/**
	 * 删除分类
	 */
	public function del(){
		$cid=Q('get.cid',0,'intval');
//		如果有子类的话不能删除
		$data=$this->model->where("pid={$cid}")->all();
		if($data)    $this->error('请先删除子类');
		$this->model->where("cid={$cid}")->del();
		$this->success('删除成功','',1);
	}
	/**
	 * 分类所属类型
	 */
	private function type(){
	    $data=K('Type')->all();
//		p($data);
		$this->assign('type',$data);
	} 
	 
}
 

 
 
 
 
 
 




 ?>